home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr47 / sptdemo.zip / TGRUPO.PRG < prev    next >
Text File  |  1995-02-28  |  3KB  |  108 lines

  1. // ----------------------------------------------------------------------------
  2. // (c) 1,994 Juan Miguel Sosso Prieto - Todos los derechos reservados
  3. // Autor...: Juan Miguel Sosso
  4. // Proyecto: Contabilidad Personal
  5. // Módulo..: Mantenimiento de Grupos
  6. // Fecha...: Mon  16-05-94
  7. // Hora....: 11:33:35
  8.  
  9. #include "inkey.ch"
  10. #include "sptools.ch"
  11.  
  12. // ----------------------------------------------------------------------------
  13.  
  14. proc Grupos()
  15.  
  16.    local oMnu
  17.    local oBrw
  18.  
  19.    DEFINE MENU oMnu AT MaxRow()
  20.       MENUITEM " &Modificar " ACTION EditGrupo( oBrw )
  21.       MENUITEM " &Añadir "    ACTION AddGrupo( oBrw )
  22.       MENUITEM " &Eliminar "  ACTION Eliminar( oBrw )
  23.       MENUITEM " &Salir "     ACTION .t.
  24.    ENDMENU
  25.  
  26.    oMnu:lOpened = .f.
  27.  
  28.    DEFINE BROWSE oBrw SIZE MaxRow() - 1, 57 ALIAS Grupo ;
  29.           COLSEP " " FOOTSEP "" ;
  30.           TITLE "GRUPOS CONTABLES"
  31.       COLUMN "Nº"          DATA Grupo->nGRUPO
  32.       COLUMN "DESCRIPCION" DATA Grupo->cDESC
  33.       COLUMN "INGRESO"     DATA Transform( Grupo->nINGRESO, "9,999,999" )
  34.       COLUMN "GASTO"       DATA Transform( Grupo->nGASTO, "9,999,999" )
  35.  
  36.       ON DBLCLICK          DO EditGrupo( oBrw )
  37.    ENDBROWSE
  38.  
  39.    oBrw:GoTop()
  40.  
  41.    ACTIVATE BROWSE oBrw MENUBAR oMnu
  42.  
  43. return
  44.  
  45. // ----------------------------------------------------------------------------
  46.  
  47. static proc EditGrupo( oBrw )
  48.  
  49.    local GetList := {}
  50.    local aField  := {}
  51.    local oWnd
  52.  
  53.    DEFINE WINDOW oWnd SIZE 9, 49 TITLE "GRUPO"
  54.    ACTIVATE WINDOW oWnd
  55.    Grupo->( SaveFields( aField ) )
  56.  
  57.    @ 2,  3 SAY "Grupo......:" GET Grupo->nGRUPO ;
  58.                               MESSAGE "Número de grupo contable"
  59.    @ 4,  3 SAY "Descripción:" GET Grupo->cDESC ;
  60.                               MESSAGE "Descripción del grupo contable"
  61.  
  62.    @ 6, 20 BUTTON "  &Aceptar  "  ACTION BTN_OK ;
  63.                                   MESSAGE "Grabar el grupo"
  64.    @ 6, 34 BUTTON "  &Cancelar  " ACTION BTN_CANCEL ;
  65.                                   MESSAGE "Descartar las modificaciones"
  66.  
  67.    READ
  68.  
  69.    if LastKey() == K_ESC
  70.       Grupo->( RestFields( aField ) )
  71.    else
  72.       oBrw:RefreshAll()
  73.    endif
  74.  
  75.    DEACTIVATE WINDOW oWnd
  76.  
  77. return
  78.  
  79. // ----------------------------------------------------------------------------
  80.  
  81. static proc AddGrupo( oBrw )
  82.  
  83.    local nActual := Grupo->( RecNo() )
  84.  
  85.    Grupo->( DbAppend() )
  86.    EditGrupo( oBrw )
  87.    if LastKey() == K_ESC
  88.       Grupo->( DbDelete() )
  89.       Grupo->( DbGoto( nActual ) )
  90.    endif
  91.  
  92. return
  93.  
  94. // ----------------------------------------------------------------------------
  95.  
  96. static proc Eliminar( oBrw )
  97.  
  98.    if nMsgBox( "¿Está seguro de querer eliminar el grupo?", ;
  99.                { "  &Eliminar  ", "  &Cancelar  " } ) == 1
  100.       Grupo->( DbDelete() )
  101.       Grupo->( DbSkip() )
  102.       oBrw:RefreshAll()
  103.    endif
  104.  
  105. return
  106.  
  107. // ----------------------------------------------------------------------------
  108.